﻿@charset "UTF-8";

#wrap > #ft {
	display: none
}

#ct {
	padding-top: 0
}

body:not(.is-scroll):not(.nav-open) #hd:not(.open) {
	background: none;
	box-shadow: none;
	color: #fff
}

	body:not(.is-scroll):not(.nav-open) #hd:not(.open) .hd-logo > a {
		background-image: url("../images/logo.png?v=2.0")
	}

	body:not(.is-scroll):not(.nav-open) #hd:not(.open) .util {
		color: #fff
	}

.util .fa-search {
	color: #fff;
}

.util > ul > li::after {
	background-color: #fff;
}

.util ul li a:link, .util ul li a:visited {
	color: #fff;
}

.util ul li a:hover {
	color: #e60012;
}

.util ul li.shop-bg {
	background: url(../images/shop_logo.png) no-repeat 9px center;
}

.is-wheel .main-section {
	height: 100vh;
	overflow: hidden;
}

.main-section {
	display: flex;
	align-items: center;
	position: relative;
	font-size: 16px;
}

.main-portfolio .swiper-pagination {
	display:none;
}

.main-section:before {
	content: '';
	min-height: 100vh
}

.main-visual > .btn {
	position: absolute;
	right: 30px;
	bottom: 7.222rem;
	z-index: 10
}

.visual-swiper {
	width: 100%
}

	.visual-swiper .container {
		margin: 0
	}

	.visual-swiper [class*=swiper-button], .business-swiper [class*=swiper-button] {
		background: rgba(0,0,0,.3) url(../img/swiper.svg) no-repeat 50% 50%/.889rem auto;
		width: 4.444rem;
		height: 4.444rem;
		margin-top: -2.222rem;
		box-shadow: 20px 20px 40px rgba(0,0,0,.4);
		text-indent: 0;
		color: #fff
	}

	.visual-swiper .swiper-button-prev {
		left: 0;
		transform: scaleX(-1)
	}

	.visual-swiper .swiper-button-next {
		right: 0
	}

	.visual-swiper .swiper-slide {
		min-height: 100vh;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center
	}
		.visual-swiper .swiper-slide iframe {
			width: 100%;
			height: 93.5vh;
		}
		.visual-swiper .swiper-slide video {
			width: 100%;
			height: auto;
			position: absolute;
left:0px;
			top: 50%;
			transform: translateY(-50%);
margin-top: -100px;
		}

/*	.visual-swiper .swiper-slide:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0,0,0,.25)
	}*/

	.visual-swiper .swiper-slide {
		background: url(/upload/weilishi/202107/08/202107081507101834123.jpg) no-repeat 50% 100%/cover
	}

	.visual-swiper .loc {
		display: inline-block;
		vertical-align: top;
		width: 12.778rem;
		line-height: 2.444rem;
		background: rgba(0,0,0,.25);
		border-radius: 2rem;
		font-size: 1.111rem;
		color: rgba(255,255,255,.8);
		margin-top: 2em
	}

	.visual-swiper .h1 {
		font-size: 43px;
		font-weight: bold;
		color: #fff;
	}

	.visual-swiper .h3 {
		line-height: 36px;
		font-size: 20px;
		margin-top: 10px;
		font-weight: initial;
	}

	.visual-swiper img {
		width: auto;
		max-width: 100%;
		margin-bottom: 1rem
	}

	.visual-swiper .visual-txt {
		position: relative;
		padding: 5.556rem 30px 11.112rem;
		text-shadow: 0px 0px 5px rgba(0,0,0,.1);
		color: #fff;
		text-align: left;
	}

.news-swiper {
	position: absolute;
	height: 5.556rem;
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 1200px;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	background: #fff;
	z-index: 50;
}

	.news-swiper .h6 {
		position: relative;
		white-space: nowrap;
		padding: 0px 10%;
		margin-right: 8%;
		font-size: 16px;
		color: #111;
		font-weight: bold;
	}

		.news-swiper .h6:after {
			content: '';
			position: absolute;
			top: 50%;
			height: .833rem;
			border-left: 1px solid #ccc;
			right: 0;
			margin-top: -.4165rem
		}

	.news-swiper .swiper-container {
		flex: 1;
		height: 100%;
	}

	.news-swiper .text-truncate {
		display: block;
		line-height: 5.556rem;
		font-size: 16px;
		margin-right: 6.8%;
	}

	.news-swiper [class*=swiper-button] {
		height: 50%;
		width: 6.8%;
		left: auto;
		right: 10%;
		margin: 0;
		background: url(../img/updown.svg) no-repeat 50% 50%/.778rem auto;
		min-width: 32px;
	}

	.news-swiper [class*=swiper-button] {
		border-radius: 0;
		box-shadow: none
	}

	.news-swiper .swiper-button-prev {
		top: 0
	}

	.news-swiper .swiper-button-next {
		transform: scaleY(-1)
	}

#businessBg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	transition: background .3s ease-out;
}

.main-business .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center
}

	.main-business .swiper-slide:before {
		content: '';
		min-height: 100vh
	}

.business-swiper {
	overflow: visible;
	color: #fff
}

.business-wrap {
	display: flex;
	align-items: center;
	position: relative;
	width: 100%;
	height: 59.76vh;
	max-height: 560px
}

.btn-bottom {
	min-width: 10rem;
	margin-top: 4.444rem
}

.business-bg {
	position: absolute;
	top: 50%;
	right: 13.333%;
	width: 560px;
	height: 100%;
	box-shadow: 20px 20px 40px rgba(0,0,0,.33);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;
	transition: background .3s ease-out;
	transform: translateY(-50%);
}

.business-txt .h1 {
	line-height: 1;
	display: flex;
	align-items: flex-start;
	font-weight: 500
}

	.business-txt .h1 > small {
		font-size: .5em;
		opacity: .3;
		font-weight: 500;
		margin: .2em 0 0 .5em
	}

.business-txt .display-2 {
	margin: 1.667rem 0
}

.business-swiper [class*=swiper-button] {
	background-color: #e60012;
	border-radius: 0;
	line-height: 1.5
}

.swiper-slide:not(.swiper-slide-active) .business-txt, .swiper-slide:not(.swiper-slide-active) .business-bg > * {
	opacity: 0
}

.side-text {
	position: absolute;
	writing-mode: tb-rl;
	letter-spacing: 0;
	top: 0;
	right: 100%;
	text-transform: uppercase;
	transform: scale(-1);
	font-size: .889rem;
	margin-right: 1em;
	font-weight: 500
}

.line-text {
	position: absolute;
	color: transparent;
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: #fff;
	font-size: 3.333rem;
	font-weight: 700;
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translate(.5em, 50%);
	white-space: nowrap
}

.container-sm {
	max-width: 1000px
}

.portfolio-header {
	display: flex;
	align-items: center;
	padding: 100px 0 2rem
}

.portfolio-wrap {
	padding-bottom: 2.778rem
}

.portfolio-image {
	text-align: right;
	padding: 40px 0
}

	.portfolio-image img {
		width: 100%;
		max-width: 500px
	}

.portfolio-txt {
	background: #fff;
	max-width: 500px;
	height: 100%;
	box-shadow: 0px 1.667rem 2.222rem rgba(0,0,0,.15);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 16% 10%
}

	.portfolio-txt .h3 {
		margin: .2em 0 1.2em
	}

.dsc dd {
	padding-bottom: 1em;
	font-size: .95em
}

.main-portfolio .bg {
	background: #eee;
	width: 36.45vw;
	top: 0;
	bottom: 0;
	right: 0;
	position: absolute;
}

.portfolio-swiper .swiper-slide-prev .portfolio-wrap {
	flex-direction: row-reverse
}

.portfolio-swiper .swiper-slide {
	height: auto
}

.pr-link > .col-6, .pr-video-link {
	display: flex;
	flex-direction: column;
	justify-content: flex-end
}

.pr-video-link {
	background: url(../images/sy_07.jpg) no-repeat 50% 50%/cover;
	color: #fff !important;
	padding: 6.25% 8.33%;
	min-height: 100%;
	height: 100%
}

.main-pr .more-link {
	align-self: flex-start;
	margin-top: 2.222rem
}

.main-pr .pr-link p {
	font-size: 16px;
}

.main-pr .display-3, .main-pr .h1 {
	margin: 1.333rem 0;
	line-height: 1.1;
	font-size: 43px;
	font-weight: bold;
}

.pr-link .h5 {
	font-weight: 700;
	letter-spacing: .02em;
	margin-bottom: auto
}

.pr-link > .col-6 {
	justify-content: flex-start;
	padding: 5.2085%;
	height: 50%;
	min-height: 50%
}

.link-notice, .link-brochure {
	display: flex;
	align-items: center;
	background: #171717 url(../img/link.png) no-repeat center right 10.4166%/1.5em auto;
	color: #fff !important;
	margin: 0 !important;
	padding: 0 10.4166%;
	height: 50%;
	min-height: 50%
}

.link-notice {
	background-color: #2d2d2d
}

.link-vision {
	background: url(../images/sy_09.png) no-repeat 50% 100%/cover;
	color: #fff !important
}

.link-award {
	background: #e60012;
	color: #fff !important;
}

.portfolio-swiper .swiper-button-next, .portfolio-swiper .swiper-button-prev {
	margin-top: -2.776rem
}

.portfolio-swiper .swiper-button-next {
	right: auto;
	left: 100%
}

.portfolio-swiper .swiper-button-prev {
	left: auto;
	right: 100%
}

.nav-main-tabs .nav-item:not(:first-child) {
	margin-left: 2rem
}

.nav-main-tabs .nav-link {
	padding: 0 0 .167rem;
	border: 0;
	border-bottom: 2px solid transparent;
	font-size: 18px;
}

	.nav-main-tabs .nav-link.active {
		border-color: #e60012;
		color: #e60012;
		font-weight: bold;
	}

@media all and (-ms-high-contrast:none) {
	.line-text {
		color: rgba(255,255,255,0);
		text-shadow: -1px -1px 0px rgba(255,255,255,.1), 1px 1px 0px rgba(255,255,255,.1), -1px 1px 0px rgba(255,255,255,.1), 1px -1px 0px rgba(255,255,255,.1)
	}
}

@media (min-width: 992px) {
	.swiper-slide-active .business-bg {
		background: rgba(255,255,255,.1) !important
	}

	.dsc {
		font-size: 1.111rem
	}

	.portfolio-wrap .col-lg-6:last-child {
		padding-right: 2.222rem
	}

	.main-pr [class*=col-lg] {
		height: 100vh
	}

	.portfolio-swiper > .swiper-pagination-bullets {
		bottom: 0
	}

	.portfolio-swiper .swiper-slide:not(.swiper-slide-active) .portfolio-image {
		text-align: center
	}

		.portfolio-swiper .swiper-slide:not(.swiper-slide-active) .portfolio-image img {
			max-width: 420px
		}

	.portfolio-swiper .swiper-slide:not(.swiper-slide-active) .portfolio-wrap {
		height: 100%;
		align-items: center
	}

	.pr-link > .col-6 {
		padding-right: 0
	}
}

@media (min-width:1024px) {
	.news-swiper {
		width: calc(100% - 320px);
		left: 320px;
		transform: translateX(0);
		max-width: initial;
	}

	.visual-swiper {
		width: 100%;
		position: static;
		z-index: 10;
	}

		.visual-swiper [class*=swiper-button] {
			height: 5.556rem;
			background: #e60012;
			top: auto;
			bottom: 0;
			width: 160px;
			z-index: 10;
			right: auto;
			left: 0;
			display: flex;
			align-items: center;
			color: #fff;
			font-size: 12px;
			font-weight: 700;
			letter-spacing: -.01em;
			justify-content: center;
			box-shadow: none;
			border-radius: 0;
		}

		.visual-swiper .swiper-button-prev {
			transform: none;
		}

		.visual-swiper .swiper-button-next {
			transform: translateX(100%);
		}

			.visual-swiper .swiper-button-prev:before, .visual-swiper .swiper-button-next:after {
				content: '';
				display: block;
				width: 8px;
				height: 14px;
				background: url(../img/swiper_sm.svg) no-repeat 0 0/100% auto;
				margin-left: 15%
			}

		.visual-swiper .swiper-button-prev:before {
			transform: scaleX(-1);
			margin: 0 15% 0 0
		}
}

@media (min-width: 1200px) {
	.is-wheel {
		overflow: hidden
	}

	#lnb {
		position: fixed;
		width: 60px;
		top: 50%;
		right: 30px;
		z-index: 100;
		transform: translateY(-50%);
		text-align: right;
	}

		#lnb .nav-link {
			position: relative;
			display: block;
			width: 35px;
			height: 2px;
			margin: 20px 0;
			padding: 0;
			background-color: #Fff;
			font-size: 16px;
			outline: 0;
			border: 0px;
		}

			#lnb .nav-link.active {
				background: #fff;
				width: 60px;
				margin-left: -25px;
			}

		#lnb span {
			position: absolute;
			top: 50%;
			right: 100%;
			margin-right: 11px;
			white-space: nowrap;
			line-height: 1;
			transform: translateY(-50%);
			opacity: 0;
			transition: opacity .4s; /* font-weight: 500; */
			color: #fff;
		}

		#lnb .active span {
			opacity: 1
		}

	[data-theme="primary"] #lnb .nav-link {
		border-color: #e60012
	}

		[data-theme="primary"] #lnb .nav-link.active {
			background: #e60012
		}

	[data-theme="primary"] #lnb span {
		color: #e60012
	}

	[data-target="#ft"] {
		width: 0;
		height: 0;
		visibility: hidden;
		margin: 0
	}

	.main-visual:after {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: 5.556rem;
		background: #fff;
		z-index: 5
	}

	.business-swiper .swiper-button-prev {
		right: 100%;
		left: auto;
		margin-right: calc((100vw - 1360px)/4);
		transform: scaleX(-1)
	}

	.business-swiper .swiper-button-next {
		left: 100%;
		right: auto;
		margin-left: calc((100vw - 1360px)/4)
	}

	.portfolio-swiper {
		overflow: visible
	}
}

@media (min-width: 1440px) {
	.business-swiper .swiper-button-next {
		height: 460px;
		margin: -230px 0 0 -90px;
		width: 180px;
		background-position: right 20px bottom 40px;
		padding: 20px
	}

		.business-swiper .swiper-button-next:before {
			content: "0"attr(data-index);
			font-size: 1.556rem;
			font-weight: 500;
			letter-spacing: 0
		}

		.business-swiper .swiper-button-next .display-2 {
			position: absolute;
			font-size: 22px;
			left: 20px;
			bottom: 25px;
			line-height: 26px
		}

		.business-swiper .swiper-button-next .display-2:after {
			content: attr(data-en);
			display: block;
			font-size: 12px;
			letter-spacing: 0
		}


	.main-pr [class*=col-lg] {
		flex-basis: 50% !important;
		max-width: 50% !important
	}
}

@media (min-width: 1600px) {
	.business-swiper .swiper-button-prev {
		margin-right: 120px
	}

	.swiper-slide-next .business-bg {
		right: auto;
		left: 100px
	}

	.business-swiper .swiper-button-next {
		margin-left: 0
	}

	.visual-swiper [class*=swiper-button] {
		font-size: 16px
	}

	.visual-swiper .swiper-button-prev:before {
		margin-right: 27.77%
	}

	.visual-swiper .swiper-button-next:after {
		margin-left: 27.77%
	}
}

@media (max-width: 1599.98px) {
	.business-bg {
		right: 8.333vw
	}

	.business-txt {
		margin-left: 8.333vw
	}
}

@media (max-width: 1439.98px) {
	.business-swiper .swiper-button-next > *, .visual-swiper [class*=swiper-button] { /* display: none */
	}

	.swiper-slide-prev .business-bg {
		right: 0
	}

	.swiper-slide-next .business-bg {
		left: 0;
		right: auto
	}

}

@media (max-width: 1199.98px) {
	.news-swiper { /* max-width: none; */ /* left: 0; */ /* transform: none */
	}

	.business-bg {
		width: 56.45vw;
		height: 56.45vw;
		max-width: 560px;
		max-height: 560px
	}

	.main-section [class*=swiper-button] { /* display: none */
	}

	.news-swiper [class*=swiper-button] {
		display: block
	}

	.side-text {
		right: auto;
		left: 100%;
		transform: none;
		margin-left: 1em
	}
	/*    .main-business .swiper-slide{padding: 9vh 0 15vh} */
	.main-business .swiper-slide:before {
		min-height: 76vh
	}

	.business-wrap {
		min-height: 46.66vw
	}

	.pr-link .h1 + p {
		font-size: .889rem
	}

	.link-notice, .link-brochure {
		background-size: 2.143rem auto
	}

	.portfolio-header {
		padding-top: 2.778rem
	}
}

@media (max-width: 991.98px) {
	.visual-swiper .swiper-slide {
		min-height: 100vh;
		min-height: calc(var(--vh, 1vh) * 100)
	}

	.main-section {
		font-size: 1rem
	}

		.main-section:before, .main-business .swiper-slide:before, .business-txt .h1 {
			display: none
		}

	.news-swiper {
		height: 3.5rem
	}
	.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
		bottom: 5.5rem;
	}

		.news-swiper .text-truncate {
			line-height: 3.5rem;
			font-size: 1rem
		}

		.news-swiper [class*=swiper-button] {
			width: 2.286rem
		}

		.news-swiper .text-truncate {
			margin-right: 2.286rem
		}

		.news-swiper .h6 { /* padding-left: 2.286rem */
		}

	.btn-bottom {
		margin-top: 2.143rem
	}

	.main-visual > .btn {
		right: 15px;
		bottom: calc(3.5rem + 15px)
	}

	.visual-swiper img {
		max-height: 50px
	}

	.business-wrap {
		flex-direction: column-reverse;
		max-height: none;
		min-height: 0;
		height: auto
	}

	.business-bg {
		position: relative;
		top: auto;
		right: auto;
		width: 69.5vw;
		height: 69.5vw;
		transform: none
	}

	.side-text {
		display: none
	}

	.line-text {
		font-size: 3.25rem;
		transform: translate(.25em, 50%)
	}

	.business-txt {
		margin: 0;
		text-align: center
	}

		.business-txt .display-2 {
			margin: 3.5rem 0 .8rem
		}

	.portfolio-swiper .swiper-slide {
		padding-bottom: 15vh
	}

	.portfolio-header {
		padding-top: 9vh
	}

	.portfolio-wrap {
		padding: 2.222rem 1.111rem 0
	}

	.main-portfolio .container-sm {
		padding: 0 1.111rem
	}

	.portfolio-image, .portfolio-txt {
		margin: 0 auto
	}

	.portfolio-image {
		text-align: center;
		padding: 0 0 56.25% 0;
		position: relative
	}

		.portfolio-image > img {
			position: absolute;
			top: 0;
			left: 0;
			height: 100%;
			object-fit: cover
		}

	.portfolio-txt {
		padding: 2rem 1.389rem;
		box-shadow: 0px .8rem 1.111rem rgba(0,0,0,.15)
	}

		.portfolio-txt .dsc {
			padding-bottom: 1.25rem
		}

	.main-portfolio .more-link {
		padding-right: 2.57rem;
		font-size: 0;
		line-height: 0;
		height: 1rem;
		background-size: auto 85%
	}

	.pr-video-link {
		padding-left: 5.2085%
	}

	.nav-main-tabs .nav-item:not(:first-child) {
		margin-left: 1.25rem
	}

	.news-swiper [class*=swiper-button] {
		right: 2%;
	}
}

@media (max-width: 575.98px) {
	.visual-swiper img {
		max-width: 95%
	}

	.news-swiper .h6 {
		padding-left: .5rem;
		font-size: 1rem;
		padding-right: .5rem;
		margin-right: .5rem
	}

	.line-text {
		font-size: 1.857rem
	}

	.main-business .container {
		padding: 0
	}

	.pr-link .h1 + p {
		display: none
	}

	.pr-link, .pr-link > .col-6 {
		height: auto !important
	}

		.pr-link > .col-6 {
			min-height: 33.33vw
		}

	.main-pr .h1 {
		margin: .5em 0 0;
		font-size: 1.3rem
	}

	.pr-link .h5 {
		margin-bottom: 0
	}

	.pr-link > .col-6 {
		justify-content: center
	}
}
